草庐IT

Android JUnit 测试 ClassNotFoundException

全部标签

c# - 单元测试是否使 Debug.Assert() 变得不必要?

我准备好麦康奈尔的“CodeComplete”已经有一段时间了。现在我在Hunt&Thomas的“ThePragmaticProgrammer”中再次阅读它:使用断言!注意:不是单元测试断言,我的意思是Debug.Assert()。遵循SO问题WhenshouldIuseDebug.Assert()?和Whentouseassertionoverexceptionsindomainclasses断言对开发很有用,因为可以很快找到“不可能”的情况。而且它们似乎很常用。据我了解,断言在C#中通常用于检查输入变量的“不可能”值。为了使单元测试尽可能简洁和独立,我使用null和“不可能的”虚拟

c# - VS2010中用MSTest测试运行报错

当我运行我的单元测试时,所有测试都通过了,但不是“测试运行成功”或任何成功消息,而是在小栏中显示“测试运行错误”,告诉我有多少测试通过了,尽管我的所有测试都通过了。当我点击文本时,我被带到一个页面,告诉我发生了以下两件事:Warning:conflictduringtestrundeployment:deploymentitem'[...]\Booking.Web.dll'directlyorindirectlyreferencedbythetestcontainer[...]\Booking.Web.Tests.dllcannotbedeployedto'Booking.Web.dl

c# - 测试一个方法是否被覆盖?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:DetectifamethodwasoverriddenusingReflection(C#)有没有办法判断一个方法是否被覆盖?例如publicclassFoo{publicvirtualvoidDoSomething(){}publicvirtualintGimmeIntPleez(){return0;}}publicclassBabyFoo:Foo{publicoverrideintGimmeIntPleez(){return-1;}}是否可以反射(reflect)BabyFoo并判断GimmeIntPl

c# - NUnit 测试错误?预期为 <MyType> 但为 <MyType>

[Test]publicvoidtestMultiplication(){varfive=newDollar(5);Assert.AreEqual(newDollar(10),five.times(2));Assert.AreEqual(newDollar(15),five.times(3));}美元等级publicclassDollar{privateintamount;publicDollar(intamount){this.amount=amount;}publicDollartimes(intmultiplier){returnnewDollar(amount*multipli

c# - 文件 IO 的单元测试方法

我正在努力养成编写单元测试的习惯,我以前写过一些,但它们通常都很基础......我想开始转向TDD,因为我想提高我的代码(设计和结构)的质量-减少耦合,同时希望减少滑入可测试构建的回归数量。我从一个相对简单的项目开始。生成的程序监视一个文件夹,然后对该文件夹中的文件进行操作。下面是从项目中提取的一些代码的典型示例:privatestringRestoreExtension(Stringfile){varunknownFile=Path.GetFileName(file);varignoreDir=Path.GetDirectoryName(file)+"\\Unknown";strin

c# - 如何将示例(虚拟)数据添加到单元测试中?

在较大的项目中,我的单元测试通常需要一些“虚拟”(示例)数据才能运行。一些默认客户、用户等。我想知道您的设置是什么样的。您如何组织/维护这些数据?您如何将其应用于您的单元测试(任何自动化工具)?您真的需要测试数据还是您认为它没用?我目前的解决方案:我区分主数据和样本数据,前者在系统投入生产时可用(首次安装),后者是典型用途运行测试(并在开发过程中播放)所需的用例。我将所有这些存储在一个Excel文件中(因为它非常容易维护),其中每个工作表都包含一个特定的实体(例如用户、客户等),并被标记为主或样本。我有2个测试用例,我(错过)使用它们来导入必要的数据:InitForDevelopmen

c# - 如何在单元测试中模拟抛出异常?

如何模拟在C#单元测试中抛出的异常?我希望能够100%覆盖我的代码,但我无法测试可能出现异常的代码。例如,我无法模拟可能发生的电源故障。例如:publicvoidMyMethod(){try{...}catch(OutOfMemoryExceptione){...}catch(RandomErrorFromDatabaseLayere){...}}我希望能够模拟此方法中应捕获的任何类型的异常。有没有图书馆可以帮助我解决这个问题?编辑1:对完成我对最小起订量的要求有什么帮助吗? 最佳答案 您需要创建一个模拟对象来代替可以抛出这些异常的

c# - 当我运行测试时,如何让单元测试复制我的 DLL 和其他文件?

我正在开发一个应用程序,我已经为它创建了许多单元测试。带有测试类的项目依赖于3个第三方DLL。当我转到测试项目的bin\Debug文件夹时,Dll就在那里。但是当我运行测试时,DLL没有被复制到TestResult\\Out文件夹中。还有一个我想复制的来自另一个项目的log4net.config文件。这个没有出现在测试项目的bin\Debug文件夹中,所以这是我必须解决的另一个问题。如何在运行单元测试时复制这些文件?托尼 最佳答案 您可以使用DeploymentItemAttribute将文件复制到bin(或其他)目录。[TestM

c# - 如何在 NUnit 中编写集成测试?

我们是两个正在写学士论文的学生,我们开发了一个Windows应用程序,它应该能够在各种沟通过程中帮助餐厅。从根本上说,它应该能够从客人发送给它的那一刻起就显示有关订单的信息。我们在开发过程中省略了测试,但现在决定编写单元测试。尽管如此,我们发现我们现在可以写入系统的最合适的测试是集成测试,因为我们类中的所有方法都通过LINQtoSQL绑定(bind)到SQL存储过程。我们知道使用stub来伪造对数据库的依赖性,但是当我们的数据库已经与所有功能一起实现时,我们认为将几种方法作为集成测试一起测试会给我们带来更多值(value)。如以下代码所示,我们已尝试遵循单元测试的指南,但这是编写集成测

C# - 单元测试,模拟?

应该使用目标类的内置单元测试生成器(VS)还是我应该自己学习如何编写单元测试?这个“模拟”是什么东西?我一遍又一遍地听到它,但没有人关心给出一个好的解释。提前致谢。 最佳答案 您需要学习自己编写单元测试。从正确理解许多人在以下方面犯错误的术语开始,从右脚开始:单元测试:测试单个代码单元,非常小的原子测试。集成测试:测试集成在一起的多个代码单元,通过不同的层并确保它们正确使用彼此。这些应该在单元测试验证了各个单元独立工作之后完成。许多人错误地将这些称为单元测试。内置验证测试:通过部署和运行将以用户方式与其交互的测试来测试内置产品。也经